Crate cosmrs

source ·
Expand description

CosmRS: Cosmos Wallet and SDK for Rust

Crate Docs Build Status Apache 2.0 Licensed MSRV

Framework for building Cosmos blockchain applications in Rust, modeled off of the Cosmos SDK for Golang.

About

This library is presently designed to serve as a client for interacting with the Golang implementation of the Cosmos SDK, providing things like wallet functionality such as transaction signing, and a builder/parser for Cosmos SDK formatted transaction messages.

It does not implement server-side functionality (yet), such as hooks and message passing.

Features

  • CosmWasm: messages used by smart contracts written using CosmWasm
  • Staking: support for staking with validators
  • Transactions: build, sign, and/or parse Cosmos SDK transactions

Minimum Supported Rust Version

This crate is supported on Rust 1.59 or newer.

Re-exports

CosmRS re-exports the following crates for easy access:

  • bip32: re-exported as cosmrs::bip32
  • cosmos-sdk-proto: re-exported as cosmrs::proto
  • tendermint: re-exported as cosmrs::tendermint
  • tendermint-rpc: re-exported as cosmrs::rpc (requires rpc crate feature)

Re-exports

pub use crate::tx::Tx;
pub use cosmos_sdk_proto as proto;
pub use tendermint;
pub use bip32;
pub use tendermint_rpc as rpc;

Modules

Application/BlockChain Interface (ABCI)-related functionality.
Authentication module: AuthN-related functionality.
Bank module support
CosmWasm messages
Cryptographic functionality
devdev
Development-related functionality.
Distribution module support
Fee grant module support
Staking module support
Cosmos SDK transaction support.
Vesting-related types

Structs

Account identifiers
Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.
Coin defines a token with a denomination and an amount.
Denomination.
The core error reporting type of the library, a wrapper around a dynamic error reporting type.

Enums

Kinds of errors.

Type Definitions

Amounts.
Gas cost.
type alias for Result<T, Report>